﻿<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>下雨的页面</title>
   
</head>
<body>
<script type="text/javascript" language="JavaScript">
    let no = 50;
    let speed = 1;
    let ns4up = (document.layers) ? 1 : 0;          //针对netscape时，使用的对象-document.layers
    let ie4up = (document.all) ? 1 : 0;             //针对ie时，使用的对象-document.all
    let s, x, y, sn, cs;
    let a, r, cx, cy;
    let i, doc_width = 800, doc_height = 600;       //设置窗体的初始高度和宽度
    if (ns4up) {                                    //netscape时，获取窗体的高度和宽度
        doc_width = self.innerWidth;
        doc_height = self.innerHeight;
    }
    else if (ie4up) {                                    //ie时，获取窗体的高度和宽度
        doc_width = document.body.clientWidth;
        doc_height = document.body.clientHeight;
    }
    x = new Array();
    y = new Array();
    r = new Array();
    cx = new Array();
    cy = new Array();
    s = 8;
    for (i = 0; i < no; ++ i) {
        initRain();                                 //
        if (ns4up) {                                //netscape时，使用layer设置一些动态雨点
            if (i === 0) {
                document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");
                document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");
                document.write(",</font></layer>");
            }
            else {
                document.write("<layer name=\"dot"+ i +"\" left=\"1\" ");
                document.write("top=\"1\" visibility=\"show\"><font color=\"blue\">");
                document.write(",</font></layer>");
            }
        }
        else
        if (ie4up) {                            //IE时，使用div设置一些动态雨点
            if (i === 0) {
                document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
                document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
                document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");
                document.write(",</font></div>");
            }
            else {
                document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
                document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
                document.write("visible; TOP: 15px; LEFT: 15px;\"><font color=\"blue\">");
                document.write(",</font></div>");
            }
        }
    }
    function initRain() {                               //初始化坐标值-动态
        a = 6;
        r[i] = 1;
        sn = Math.sin(a);
        cs = Math.cos(a);
        cx[i] = Math.random() * doc_width + 1;
        cy[i] = Math.random() * doc_height + 1;
        x[i] = r[i] * sn + cx[i];
        y[i] = cy[i];
    }
    function makeRain() {                               //设置动态的x,y坐标
        r[i] = 1;
        cx[i] = Math.random() * doc_width + 1;
        cy[i] = 1;
        x[i] = r[i] * sn + cx[i];
        y[i] = r[i] * cs + cy[i];
    }
    function setRain() {                             //重新生成x,y坐标
        r[i] += s;
        x[i] = r[i] * sn + cx[i];
        y[i] = r[i] * cs + cy[i];
    }
    function raindropNS() {                             //在netscape中的下雨效果
        for (i = 0; i < no; ++ i) {
            setRain();
            if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {
                makeRain();
                doc_width = self.innerWidth;
                doc_height = self.innerHeight;
            }
            document.layers["dot"+i].top = y[i];
            document.layers["dot"+i].left = x[i];
        }
        setTimeout("raindropNS()", speed);
    }
    function raindropIE() {                              //在IE中的下雨效果
        for (i = 0; i < no; ++ i) {
            setRain();
            if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {
                makeRain();
            }
            document.all["dot"+i].style.pixelTop = y[i];        //循环改变雨点的x和y坐标
            document.all["dot"+i].style.pixelLeft = x[i];
        }
        setTimeout("raindropIE()", speed);                //实现定时器，实现不断下雨的效果
    }
    if (ns4up) {
        raindropNS();
    }
    else
    if (ie4up) {
        raindropIE();
    }
</script>
</body>
</html>